In recent years, new consumer electronics devices have been introduced that can connect to local area computer networks, including home networks. Examples of such devices include printers, DVD players and personal video recorders. A technology called Universal Plug and Play (UPnP) has been developed to provide a common language for such devices to communicate over such local area computer networks.
UPnP defines a category of devices called media servers, and another category called media renderers, and a concept called a control point. A control point is an entity which can find UPnP devices and control them. A control point that controls a media renderer is referred to as a digital media controller (DMC).
A common use of UPnP devices is to have a media server that transfers multimedia content (e.g., a digital representation of a movie) to a media renderer device, with the help of a digital media controller. If the media server, media renderer and the digital media controller are three separate devices, then the digital media controller orchestrates the connection between the media renderer and the media server.
In a possible scenario, the media renderer is a networked television, the media server is a desktop personal computer, and the digital media controller is a portable personal computer such as a notebook computer or a mobile phone, all interconnected on a local area network, such as in a home network. The digital media controller discovers the media server and downloads a catalog of movies from the media server. The digital media controller then instructs the media renderer to initiate a streaming transfer of one the movies from the media server to the media renderer for display on the television screen.
In another possible scenario, the device that acts as a digital media controller also hosts a server that streams media data to the digital media renderer. For example, the digital media controller can be an application running on a tablet computer which receives media data from another application that acts as a digital media server, and the digital media renderer can be a television or a gaming console connected to a television.
There are several limitations with existing implementations of UPnP and similar networked systems when the digital media controller is streaming media to the digital media renderer.
First, the digital media controller cannot enter into a dormant state, commonly called a “sleep” state or “hibernating” state in which activity of the device is reduced so as to conserve power. Transitioning to such a state can interrupt transfer of the media from the digital media controller in the event the digital media controller also acts as a media server. However, not transitioning to such a state can result in the digital media controller running out of battery power.
Second, if the digital media controller is receiving media from another service not on the local area network, such as an online store or other remote media server connected to a computer network, such as the internet, the media may be encoded by that service to be optimized for the digital media controller. For example, if the digital media controller is a small portable device, and the digital media renderer is a high definition television, the digital media controller may receive media with a small spatial resolution and not high definition.
Third, if the digital media controller is receiving media from another service not on the local area network, such as an online store or other remote media server connected to a computer network, such as the internet, the media may be protected by digital rights management technology that allows only the digital media controller to access the media.